// 放一些我们通用的验证

// file:我们要检查的文件
// condition：用什么样的条件去检查
interface CheckCondition {
  format?: string[]; //检查他是什么样的格式
  size?: number; //每个上传图片大小
}
type ErrorType = "size" | "format" | null;
export function beforUpLoadCheck(file: File, condition: CheckCondition) {
  const { format, size } = condition;
  const isValidFormat = format ? format.includes(file.type) : true; //是否合法拿到的图片是否包含格式
  const isValidSize = size ? file.size / 1024 / 1024 < size : true;
  let error: ErrorType = null;
  if (!isValidFormat) {
    error = "format";
  }
  if(!isValidSize){
    error = 'size'
  }
  return{
    passed: isValidFormat && isValidSize,
    error
  }
}
